///#begin en
//
//  Copyright (c) 2016 MyCamCloud. All rights reserved.
//
///#end


@class HKSDeviceClient;
@interface GZCZDeviceManageClient : NSObject{
    
    /** @brief  设备句柄数量 */
    int     _deviceClientCount;
    
    NSMutableArray  *_deviceClients;
}

///#begin zh-cn
/**
 *  @brief  获取设备管理对象
 *
 *  @return [GZCZDeviceManageClient]返回当前设备管理对象
 *  @since  v1.0.0.0
 */
///#end
///#begin en
///#end
+ (GZCZDeviceManageClient *)shareManageClient;

///#begin zh-cn
/**
 *  @brief      初始化设备管理对象
 *  @param[in]  aDeviceClientCount[int]初始化设备对象的数量
 *
 *  @return [GZCZDeviceManageClient]返回当前设备管理对象
 *  @since  v1.0.0.0
 */
///#end
///#begin en
///#end
- (instancetype)initWithCount:(int)aDeviceClientCount;

///#begin zh-cn
/**
 *  @brief      更新设备管理对象
 *  @param[in]  aDeviceClientCount[int]更新设备对象的数量
 *
 *  @since  v1.0.0.0
 */
///#end
///#begin en
///#end
- (void)updateDeviceClientCount:(int)aDeviceClientCount;

///#begin zh-cn
/**
 *  @brief      获取设备对象
 *  @param[in]  aIndex[int]设备对象索引
 *
 *  @since  v1.0.0.0
 */
///#end
///#begin en
///#end
- (HKSDeviceClient *)deviceClientAtIndex:(int)aIndex;

///#begin zh-cn
/**
 *  @brief      push需要进行Mp4编码的文件
 *  @param[in]  aFilePath[NSStrng]需要编码的文件名
 *  @param[in]  aOutFilePath[NSStrng]编码的完成以后的文件名
 *
 *  @since  v2.4.8.31
 */
///#end
///#begin en
///#end
- (void)pushMp4CodingAtPath:(NSString *)aFilePath audioFilePath:(NSString *)aAudioFilePath outFilePath:(NSString *)aOutFilePath;

///#begin zh-cn
/**
 *  @brief      需要进行Mp4编码的文件的数量
 *
 *  @since  v2.4.8.31
 */
///#end
///#begin en
///#end
- (int)mp4CodingFileCount;

///#begin zh-cn
/**
 *  @brief      h264解码接口
 *  @param[in]  sVideoBuffer[unsigned char*]需要编码的裸数据
 *  @param[in]  iVideoBufferLen[int]需要编码的裸数据长度
 *  @return     解码成功以后的yuv数据，如果为空的时候表示解码失败，
 *
 *  @since  v2.4.9.6
 */
///#end
///#begin en
///#end
- (unsigned char*)videoDataDecoding:(unsigned char*)sVideoBuffer dataLen:(int)iVideoBufferLen;

///#begin zh-cn
/**
 *  @brief      关闭解码器
 *
 *  @since  v2.4.9.6
 */
///#end
///#begin en
///#end
- (void)closeVideoDataDecoding;
@end
